package Controller.Default;

import Model.Main.Worksheet;
import Model.Inputs.Input;
import Model.Gates.Gate;
import java.util.logging.Logger;
/**
 *
 ** @author citromos ezustfoka
 */

public class Simulator {

    private Worksheet sheet;
    private Boolean running;
    private static final Logger logger =
            Logger.getLogger(Simulator.class.getName());

    /**
     *
     * Osztály konstruktora
     */
    public Simulator() {
        throw new UnsupportedOperationException();
    }

    /**
     *
     * Futtatás indítása
     * 
     */
    public void start() {
        throw new UnsupportedOperationException();
    }

    /**
     *
     * Futtatás leállítás, az értékek alaphelyzetbe állnak.
     */
    public void stop() {
        throw new UnsupportedOperationException();
    }

    /**
     *
     *  Futtatás megállítása, minden úgy marad, ahogy a megállítás pillanatában volt.
     */
    public void pause() {
        throw new UnsupportedOperationException();
    }

    /**
     * A worksheet osztály setState függvényét hívja meg.
     * @param onInput : Az az Input példány referenciája, aminek az értékét szeretnénk beállítani.  
     * @param state :  A bemenet értéke
     */
    public void setState(Input onInput, Boolean state) {
        throw new UnsupportedOperationException();
    }

    /**
     *A Worksheet osztály ugyanilyen paraméterekkel rendelkező addWire függvényét hívja meg.
     * @param from Az Input aminek a kimenetére állítjuk a wire-t
     * @param to A Gate aminek a bemenetére állítjuk a wire-t
     * @return
     */
    public void addWire(Input from, Gate to) {
        throw new UnsupportedOperationException();
    }

    /**
     * A Worksheet osztály ugyanilyen paraméterekkel rendelkező addWire függvényét hívja meg.
     * @param from  A Gate aminek a kimenetére állítjuk a wire-t
     * @param to A Gate aminek a bemenetére állítjuk a wire-t
     * @return
     */
    public void addWire(Gate from, Gate to) {
        throw new UnsupportedOperationException();
    }

    /**
     *A Worksheet osztály ugyanilyen paraméterekkel rendelkező delWire függvényét hívja meg.
     * @param from  Az Input aminek a kimenetéről töröljük a wire-t
     * @param to A Gate aminek a bemenetéről töröljük a wire-t
     * @return
     */
    public void delWire(Input from, Gate to) {
        throw new UnsupportedOperationException();
    }

    /**
     *A Worksheet osztály ugyanilyen paraméterekkel rendelkező delWire függvényét hívja meg.
     * @param from  A Gate aminek a kimenetéről töröljük a wire-t
     * @param to A Gate aminek a bemenetéről töröljük a wire-t
     * @return
     */
    public void delWire(Gate from, Gate to) {
        throw new UnsupportedOperationException();
    }
}
